<template>
  <section class="oa-form__table">
    <h5>{{ approve.name }}</h5>
    <table cellpadding="0" cellspacing="0">
      <tr v-if="$route.query.from != 'new'">
        <td>事务编号</td>
        <td>
          {{ approve.name }}
          <span v-if="approve && approve.code">{{ approve.code }}</span>
        </td>
      </tr>
      <tr>
        <td>流程名称</td>
        <td>
          <span v-if="$route.query.from == 'new'">新建{{ approve.name }}</span>
          <span v-else>
            {{ approve.approve_name }}
          </span>
        </td>
      </tr>
      <tr>
        <td>申请事由</td>
        <td :title="reason"><el-input placeholder="申请事由" type="textarea" v-model="reason" :disabled="$route.query.from != 'new'"/></td>
      </tr>
    </table>
    <h3 class="oa-form__table-title">
      <span v-if="$route.query.from === 'new'">{{ approve.name }}</span>
      <span v-else>
        {{ approve.approve_name }}
      </span>
    </h3>
     <table class="achievement__tab" border="1">
      <tr class="border_0">
        <td>考核周期:</td>
        <td>
          <el-date-picker
            value-format="yyyy-MM-dd"
            type="date"
            v-model="applyTime"
            :disabled="$route.query.from !== 'new'"
            placeholder="考核周期">
          </el-date-picker>
        </td>
        <td>部门:</td>
        <td width="400">
          <el-select v-model="department" :disabled="$route.query.from != 'new'" placeholder="请选择">
            <el-option
              v-for="item in departments"
              :key="item.value"
              :label="item.label"
              :value="item.value">
            </el-option>
          </el-select>
        </td>
        <td>姓名:</td>
        <td>
          <el-select v-model="value" style="width:60%" :disabled="$route.query.from != 'new'" placeholder="请选择"  @change="selectStaff($event)">
            <el-option
              v-for="item in staff"
              :key="item.value"
              :label="item.label"
              :value="item">
            </el-option>
          </el-select>
        </td>
        <td>岗位:<span style="display:inline-block;width:100px;padding-left:10px;"><el-input v-model="gangwei" :disabled="$route.query.from !== 'new'" placeholder="岗位"/></span></td>
      </tr>
      <tr>
        <td class="_name">考核指标</td>
        <td class="_name">指标定义</td>
        <td class="_name">权重</td>
        <td class="_name">评分说明</td>
        <td class="_name">数据来源</td>
        <td class="_name">自评</td>
        <td class="_name">评估得分</td>
        <!-- <td class="_name">扣分事项说明</td> -->
      </tr>
      <tr>
         <td rowspan="7">客户服务</td>
         <td>点位排点确认</td>
         <td>15%</td>
         <td>客服部以表格形式提供具体的路段、点位、编号、发布类型等信息后，当天内完成排点；完成排点后，将单发于客服部协调；点位协调完成后，标准点位预定；每天整理OA已预定5个工作日未出合同的客户给至客服人员;小程序点位更新/维护（超时1次扣2分，出错1次扣5分）</td>
         <td>客服部</td>
         <td><el-input v-model="obj.a230" :disabled="obj.a230Flag" /></td>
         <td><el-input v-model="obj.a243" :disabled="obj.a243Flag" /></td>
      </tr>
      <tr>
         <td>客户反馈问题</td>
         <td>10%</td>
         <td>客户发布过程中出现问题，收到通知半小时内以QQ、微信或电话形式及时反馈给客服部（超时1次扣2分）</td>
         <td>客服部</td>
         <td><el-input v-model="obj.a231" :disabled="obj.a231Flag" /></td>
         <td><el-input v-model="obj.a244" :disabled="obj.a244Flag" /></td>
      </tr>
      <tr>
         <td>客户到期续签通知</td>
         <td>10%</td>
         <td>即将到期的客户，以微信或邮件形式于每月15日、30日通知客服传递给业务人员（超时1次扣2分，出错1次扣5分）</td>
         <td>客服部</td>
         <td><el-input v-model="obj.a232" :disabled="obj.a232Flag" /></td>
         <td><el-input v-model="obj.a245" :disabled="obj.a245Flag" /></td>
      </tr>
      <tr>
         <td>各类函件核对</td>
         <td>5%</td>
         <td>1个工作日内核对客服人员提供的说明函、终止函发布点位时间明细（超时一次扣2分）</td>
         <td>客服部</td>
         <td><el-input v-model="obj.a233" :disabled="obj.a233Flag" /></td>
         <td><el-input v-model="obj.a246" :disabled="obj.a246Flag" /></td>
      </tr>
      <tr>
         <td>验收函</td>
         <td>5%</td>
         <td>上画后两个工作日内出具验收函交予业务员（超时1次扣2分，出错1次扣5分）</td>
         <td>业务员</td>
         <td><el-input v-model="obj.a234" :disabled="obj.a234Flag" /></td>
         <td>
            <div>
          业务1<el-input v-model="obj.a256" :disabled="obj.a256Flag" />
        </div>
        <div>
          业务2<el-input v-model="obj.a257" :disabled="obj.a257Flag" />
        </div>
        <div>平均得分<el-input v-model="b1" disabled placeholder="平均得分"/></div>
         </td>
      </tr>
      <tr>
         <td>派单上画</td>
         <td>10%</td>
         <td>根据客服和OA系统指令流程当日安排次日上画内容；完成派单规划后及时交给工程部；工程部巡查白天和晚上派单检查及亮灯情况统计；派晚上巡亭单给工程部工人执行；每月8日核对工程部工人每人上画单量绩效考核；每周五核对仓库画面（超时1次扣2分，出错1次扣5分）</td>
         <td>工程部</td>
         <td><el-input v-model="obj.a235" :disabled="obj.a235Flag" /></td>
         <td><el-input v-model="obj.a248" :disabled="obj.a248Flag" /></td>
      </tr>
      <tr>
         <td>媒体维护</td>
         <td>10%</td>
         <td>客户发布过程中媒体出现问题，需维修事项及时通知工程部处理并监督其按时完成；及时更新媒体亮灯情况（达90%亮灯）；工程维修派单统计核对；（超时1次扣2分，出错1次扣5分）</td>
         <td>工程部</td>
         <td><el-input v-model="obj.a236" :disabled="obj.a236Flag" /></td>
         <td><el-input v-model="obj.a249" :disabled="obj.a249Flag" /></td>
      </tr>
       <tr>
         <td>业绩</td>
         <td>业绩目标达成率</td>
         <td>10%</td>
         <td>公司业务累计月业绩目标完成90%以上（80%≤R&lt;90%扣2分，R&lt;80%扣4分，100%≤R&lt;110%加2分，110%≤R&lt;120%加4分，R≥120%加10分）。(累计月业绩目标不计入业务三部，实际业绩金额计入业务三部业绩的50%）</td>
         <td>销售会计</td>
         <td><el-input v-model="obj.a237" :disabled="obj.a237Flag" /></td>
         <td><el-input v-model="obj.a250" :disabled="obj.a250Flag" /></td>
      </tr>
       <tr>
         <td rowspan="2">数据整理</td>
         <td rowspan="2">内部数据整理</td>
         <td>5%</td>
         <td>每天下班前将整理的前天上刊的客户媒体时间明细给至销售会计；每月5日前整理上一个月传统媒体在刊天数给林总；每月5日前整理上一个月上画总量给林总（超时1次扣3分,出错1次扣5分）</td>
         <td>财务部</td>
         <td><el-input v-model="obj.a238" :disabled="obj.a238Flag" /></td>
         <td><el-input v-model="obj.a251" :disabled="obj.a251Flag" /></td>
      </tr>
       <tr>
         <td>10%</td>
         <td>每天下班前有异常发布情况及时通知销售会计；每周五下班前整理传统媒体空置情况数据给销售会计；每月8日前将上一个月的新客户明细整理给销售会计；（超时一次扣3分,超时1次扣3分,出错1次扣5分）</td>
         <td>财务部</td>
         <td><el-input v-model="obj.a239" :disabled="obj.a239Flag" /></td>
         <td><el-input v-model="obj.a252" :disabled="obj.a252Flag" /></td>
      </tr>
      <tr>
         <td>公司制度执行</td>
         <td>遵守公司制度</td>
         <td>10%</td>
         <td>对公司制度及公司文化的理解和执行（包括根据公司整体规划制定个人业务计划，合理安排个人各项工作时间，遵守公司各项制度等）</td>
         <td>行政部</td>
         <td><el-input v-model="obj.a240" :disabled="obj.a240Flag" /></td>
         <td><el-input v-model="obj.a253" :disabled="obj.a253Flag" /></td>
      </tr>
      <tr>
        <td rowspan="2">加分项</td>
        <td>增量工作内容</td>
        <td>&nbsp;</td>
        <td>超出岗位职责范围、领导交办较为繁杂的事务、工作表现卓越等</td>
        <td>总经理</td>
        <td><el-input v-model="obj.a241" :disabled="obj.a241Flag" /></td>
        <td><el-input v-model="obj.a678" :disabled="obj.a678Flag" /></td>
      </tr>
      <tr>
        <td>对公司的建议</td>
        <td>&nbsp;</td>
        <td>对市场拓展、业务销售、内部管理等建设性意见</td>
        <td>总经理</td>
        <td><el-input v-model="obj.a242" :disabled="obj.a242Flag" /></td>
        <td><el-input v-model="obj.a679" :disabled="obj.a679Flag" /></td>
      </tr>
      <tr>
        <td colspan="5"></td>
        <td>自评:{{myScore}}</td>
        <td>综合考核率:{{otherScore}}</td>
      </tr>
    </table>
    <history :process="process"></history>
    <files></files>
  </section>
</template>
<script>
import mixin from '@/mixins/index.js'
import history from '../service/components/process'
import files from '../service/components/files'
import { sum } from '@/utils/domUtils.js'
// import { save, info, getAutoKey } from '@/api/oa/index.js'
const obj = {}
for (let i = 229; i <= 257; i++) {
  obj[`a${i}`] = ''
  obj[`a${i}Flag`] = true
}
for (let i = 678; i <= 679; i++) {
  obj[`a${i}`] = ''
  obj[`a${i}Flag`] = true
}
export default {
  mixins: [mixin],
  data () {
    return {
      reason: '',
      truename: '',
      department: '',
      flag: false,
      value: '',
      obj: JSON.parse(JSON.stringify(obj)),
      applyTime: '',
      gangwei: '',
      file_paths: [],
      file_names: [],
      field_ids: [],
      field_vals: [],
      autoField: []
    }
  },
  components: { history, files },
  props: ['curDepartment', 'userInfo', 'approve', 'staff', 'addDofield', 'departments', 'process'],
  computed: {
    uploadArr () {
      return this.$store.state.uploadArr
    },
    b1 () {
      const num = parseFloat((Number(this.obj.a256) + Number(this.obj.a257)) / 2).toFixed(2)
      return num
    },
    myScore () {
      const result = []
      for (let i = 230; i <= 242; i++) {
        if (this.obj[`a${i}`]) {
          result.push(this.obj[`a${i}`])
        }
      }
      return sum(result)
    },
    otherScore () {
      const result = []
      for (let i = 243; i <= 255; i++) {
        if (this.obj[`a${i}`]) {
          result.push(this.obj[`a${i}`])
        }
      }
      result.push(this.obj.a678)
      result.push(this.obj.a679)
      result.push(this.b1)
      return sum(result)
    }
  },
  mounted () {
    this.$nextTick(() => {
      this.obj = JSON.parse(JSON.stringify(obj))
      if (this.$route.query.from === 'new') {
        this.disabled = true
      } else {
        this.infoFunc()
      }
    })
  },
  methods: {
  }
}
</script>
